const sequelize = require('../config/database')

async function checkDatabaseStructure() {
  try {
    // 测试连接
    await sequelize.authenticate()
    console.log('数据库连接成功')

    // 查看所有表
    const [tables] = await sequelize.query('SHOW TABLES')
    console.log('数据库中的表:')
    console.log(tables)

    // 检查数据库中的实际表
    if (tables && tables.length > 0) {
      console.log('\n表名列表:')
      tables.forEach((table) => {
        const tableName = Object.values(table)[0]
        console.log(`- ${tableName}`)
      })

      // 查看users表结构
      if (tables.some((table) => Object.values(table)[0] === 'users')) {
        console.log('\n查询users表结构:')
        const [userColumns] = await sequelize.query('DESCRIBE users')
        userColumns.forEach((col) => {
          console.log(
            `${col.Field}: ${col.Type} ${
              col.Null === 'YES' ? '可空' : '不可空'
            } ${col.Key} ${col.Default ? '默认值:' + col.Default : ''}`
          )
        })
      }
    } else {
      console.log('数据库中没有表!')
    }
  } catch (error) {
    console.error('数据库操作失败:', error)
  } finally {
    process.exit(0) // 确保脚本正常结束
  }
}

// 执行函数
checkDatabaseStructure()
